package com.xuzao.developer.base.criteria;

import java.util.ArrayList;
import java.util.List;


/**
 * @description 
 * @author xuzao
 * @date 2019-09-03 17:32:06
 **/
public class AddressServerCriteria {

	protected String orderByClause;

	protected boolean distinct;

	protected List<Criteria> oredCriteria;

	private int limitStart = -1;

	private int limitEnd = -1;

	public AddressServerCriteria() {
	oredCriteria = new ArrayList<Criteria>();
	}

	public void setOrderByClause(String orderByClause) {
		this.orderByClause = orderByClause;
	}
	public String getOrderByClause() {
		return orderByClause;
	}

	public void setDistinct ( boolean distinct){
		this.distinct = distinct;
 	}
	public boolean isDistinct () {
		return distinct;
	}

	public List<Criteria> getOredCriteria () {
		return oredCriteria;
	}

	public void or (Criteria criteria){
		oredCriteria.add(criteria);
	}

	public Criteria or () {
		Criteria criteria = createCriteriaInternal();
		oredCriteria.add(criteria);
		return criteria;
	}

	public Criteria createCriteria () {
		Criteria criteria = createCriteriaInternal();
		if (oredCriteria.size() == 0) {
		oredCriteria.add(criteria);
	}
		return criteria;
	}

	protected Criteria createCriteriaInternal () {
		Criteria criteria = new Criteria();
		return criteria;
	}
	public void clear () {
		oredCriteria.clear();
		orderByClause = null;
		distinct = false;
	}

	public void setLimitStart ( int limitStart){
		this.limitStart = limitStart;
	}

	public int getLimitStart () {
		return limitStart;
	}

	public void setLimitEnd (int limitEnd){
		this.limitEnd = limitEnd;
	}

	public int getLimitEnd () {
		return limitEnd;
	}

	protected abstract static class GeneratedCriteria {
		protected List<Criterion> criteria;
		protected GeneratedCriteria() {
		super();
		criteria = new ArrayList<Criterion>();
	}

	public boolean isValid() {
		return criteria.size() > 0;
	}

	public List<Criterion> getAllCriteria() {
		return criteria;
	}

	public List<Criterion> getCriteria() {
		return criteria;
	}
	protected void addCriterion(String condition) {
		if (condition == null) {
			throw new RuntimeException("Value for condition cannot be null");
	}
		criteria.add(new Criterion(condition));
	}
	protected void addCriterion (String condition, Object value, String property){
		if (value == null) {
			throw new RuntimeException("Value for " + property + " cannot be null");
	}
		criteria.add(new Criterion(condition, value));
	}

	protected void addCriterion (String condition, Object value1, Object value2, String property){
		if (value1 == null || value2 == null) {
			throw new RuntimeException("Between values for " + property + " cannot be null");
	}

		criteria.add(new Criterion(condition, value1, value2));
	}

	public Criteria andIdIsNull () {
		addCriterion("id is null");
		return (Criteria) this;
	}

	public Criteria andIdIsNotNull () {
		addCriterion("id is not null");
		return (Criteria) this;
	}

	public Criteria andIdEqualTo (java.lang.Long value){
		addCriterion("id =", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdNotEqualTo (java.lang.Long value){
		addCriterion("id <>", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdGreaterThan (java.lang.Long value){
		addCriterion("id >", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdGreaterThanOrEqualTo (java.lang.Long value){
		addCriterion("id >=", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdLessThan (java.lang.Long value){
		addCriterion("id <", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdLessThanOrEqualTo (java.lang.Long value){
		addCriterion("id <=", value, "id");
		return (Criteria) this;
	}

	public Criteria andIdIn (List < java.lang.Long > values) {

		addCriterion("id in", values, "id");
		return (Criteria) this;
	}

	public Criteria andIdNotIn (List < java.lang.Long > values) {
		addCriterion("id not in", values, "id");
		return (Criteria) this;
	}

	public Criteria andIdBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("id between", value1, value2, "id");
		return (Criteria) this;
	}

	public Criteria andIdNotBetween (java.lang.Long value1, java.lang.Long value2){
		addCriterion("id not between", value1, value2, "id");
		return (Criteria) this;
	}

	public Criteria andAddressNameIsNull () {
		addCriterion("address_name is null");
		return (Criteria) this;
	}

	public Criteria andAddressNameIsNotNull () {
		addCriterion("address_name is not null");
		return (Criteria) this;
	}

	public Criteria andAddressNameEqualTo (java.lang.String value){
		addCriterion("address_name =", value, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameNotEqualTo (java.lang.String value){
		addCriterion("address_name <>", value, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameGreaterThan (java.lang.String value){
		addCriterion("address_name >", value, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("address_name >=", value, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameLessThan (java.lang.String value){
		addCriterion("address_name <", value, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameLessThanOrEqualTo (java.lang.String value){
		addCriterion("address_name <=", value, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameIn (List < java.lang.String > values) {

		addCriterion("address_name in", values, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_name between", value1, value2, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_name not between", value1, value2, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameLike(java.lang.String value) {
		addCriterion("address_name like", value, "address_name");
		return (Criteria) this;
	}

	public Criteria andAddressNameNotLike(java.lang.String value) {
		addCriterion("address_name not like", value, "address_name");
		return (Criteria) this;
	}
	public Criteria andAddressIdIsNull () {
		addCriterion("address_id is null");
		return (Criteria) this;
	}

	public Criteria andAddressIdIsNotNull () {
		addCriterion("address_id is not null");
		return (Criteria) this;
	}

	public Criteria andAddressIdEqualTo (java.lang.String value){
		addCriterion("address_id =", value, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdNotEqualTo (java.lang.String value){
		addCriterion("address_id <>", value, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdGreaterThan (java.lang.String value){
		addCriterion("address_id >", value, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("address_id >=", value, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdLessThan (java.lang.String value){
		addCriterion("address_id <", value, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdLessThanOrEqualTo (java.lang.String value){
		addCriterion("address_id <=", value, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdIn (List < java.lang.String > values) {

		addCriterion("address_id in", values, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_id between", value1, value2, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_id not between", value1, value2, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdLike(java.lang.String value) {
		addCriterion("address_id like", value, "address_id");
		return (Criteria) this;
	}

	public Criteria andAddressIdNotLike(java.lang.String value) {
		addCriterion("address_id not like", value, "address_id");
		return (Criteria) this;
	}
	public Criteria andAddressPortIsNull () {
		addCriterion("address_port is null");
		return (Criteria) this;
	}

	public Criteria andAddressPortIsNotNull () {
		addCriterion("address_port is not null");
		return (Criteria) this;
	}

	public Criteria andAddressPortEqualTo (java.lang.Integer value){
		addCriterion("address_port =", value, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortNotEqualTo (java.lang.Integer value){
		addCriterion("address_port <>", value, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortGreaterThan (java.lang.Integer value){
		addCriterion("address_port >", value, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortGreaterThanOrEqualTo (java.lang.Integer value){
		addCriterion("address_port >=", value, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortLessThan (java.lang.Integer value){
		addCriterion("address_port <", value, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortLessThanOrEqualTo (java.lang.Integer value){
		addCriterion("address_port <=", value, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortIn (List < java.lang.Integer > values) {

		addCriterion("address_port in", values, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortNotIn (List < java.lang.Integer > values) {
		addCriterion("id not in", values, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortBetween (java.lang.Integer value1, java.lang.Integer value2){
		addCriterion("address_port between", value1, value2, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressPortNotBetween (java.lang.Integer value1, java.lang.Integer value2){
		addCriterion("address_port not between", value1, value2, "address_port");
		return (Criteria) this;
	}

	public Criteria andAddressUserIsNull () {
		addCriterion("address_user is null");
		return (Criteria) this;
	}

	public Criteria andAddressUserIsNotNull () {
		addCriterion("address_user is not null");
		return (Criteria) this;
	}

	public Criteria andAddressUserEqualTo (java.lang.String value){
		addCriterion("address_user =", value, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserNotEqualTo (java.lang.String value){
		addCriterion("address_user <>", value, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserGreaterThan (java.lang.String value){
		addCriterion("address_user >", value, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("address_user >=", value, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserLessThan (java.lang.String value){
		addCriterion("address_user <", value, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserLessThanOrEqualTo (java.lang.String value){
		addCriterion("address_user <=", value, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserIn (List < java.lang.String > values) {

		addCriterion("address_user in", values, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_user between", value1, value2, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_user not between", value1, value2, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserLike(java.lang.String value) {
		addCriterion("address_user like", value, "address_user");
		return (Criteria) this;
	}

	public Criteria andAddressUserNotLike(java.lang.String value) {
		addCriterion("address_user not like", value, "address_user");
		return (Criteria) this;
	}
	public Criteria andAddressPasswordIsNull () {
		addCriterion("address_password is null");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordIsNotNull () {
		addCriterion("address_password is not null");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordEqualTo (java.lang.String value){
		addCriterion("address_password =", value, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordNotEqualTo (java.lang.String value){
		addCriterion("address_password <>", value, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordGreaterThan (java.lang.String value){
		addCriterion("address_password >", value, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordGreaterThanOrEqualTo (java.lang.String value){
		addCriterion("address_password >=", value, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordLessThan (java.lang.String value){
		addCriterion("address_password <", value, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordLessThanOrEqualTo (java.lang.String value){
		addCriterion("address_password <=", value, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordIn (List < java.lang.String > values) {

		addCriterion("address_password in", values, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordNotIn (List < java.lang.String > values) {
		addCriterion("id not in", values, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_password between", value1, value2, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordNotBetween (java.lang.String value1, java.lang.String value2){
		addCriterion("address_password not between", value1, value2, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordLike(java.lang.String value) {
		addCriterion("address_password like", value, "address_password");
		return (Criteria) this;
	}

	public Criteria andAddressPasswordNotLike(java.lang.String value) {
		addCriterion("address_password not like", value, "address_password");
		return (Criteria) this;
	}
	public Criteria andCreateTimeIsNull () {
		addCriterion("create_time is null");
		return (Criteria) this;
	}

	public Criteria andCreateTimeIsNotNull () {
		addCriterion("create_time is not null");
		return (Criteria) this;
	}

	public Criteria andCreateTimeEqualTo (java.util.Date value){
		addCriterion("create_time =", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeNotEqualTo (java.util.Date value){
		addCriterion("create_time <>", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeGreaterThan (java.util.Date value){
		addCriterion("create_time >", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeGreaterThanOrEqualTo (java.util.Date value){
		addCriterion("create_time >=", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeLessThan (java.util.Date value){
		addCriterion("create_time <", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeLessThanOrEqualTo (java.util.Date value){
		addCriterion("create_time <=", value, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeIn (List < java.util.Date > values) {

		addCriterion("create_time in", values, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeNotIn (List < java.util.Date > values) {
		addCriterion("id not in", values, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeBetween (java.util.Date value1, java.util.Date value2){
		addCriterion("create_time between", value1, value2, "create_time");
		return (Criteria) this;
	}

	public Criteria andCreateTimeNotBetween (java.util.Date value1, java.util.Date value2){
		addCriterion("create_time not between", value1, value2, "create_time");
		return (Criteria) this;
	}


	}

	public static class Criteria extends GeneratedCriteria {

	protected Criteria() {
		super();
		}
	}
	public static class Criterion {
	private String condition;
	private Object value;
	private Object secondValue;
	private boolean noValue;
	private boolean singleValue;
	private boolean betweenValue;
	private boolean listValue;
	private String typeHandler;
	public String getCondition() {

		return condition;
	}

	public Object getValue() {
		return value;
	}

	public Object getSecondValue() {
		return secondValue;
	}

	public boolean isNoValue() {
		return noValue;
	}

	public boolean isSingleValue() {
		return singleValue;
	}

	public boolean isBetweenValue() {
		return betweenValue;
	}

	public boolean isListValue() {
		return listValue;
	}

	public String getTypeHandler() {
		return typeHandler;
	}

	protected Criterion(String condition) {
		super();
		this.condition = condition;
		this.typeHandler = null;
		this.noValue = true;
	}

	protected Criterion(String condition, Object value, String typeHandler) {
		super();
		this.condition = condition;
		this.value = value;
		this.typeHandler = typeHandler;
		if(value instanceof List<?>) {
			this.listValue = true;
		} else {
			this.singleValue = true;
		}
	}

	protected Criterion(String condition, Object value) {
		this(condition, value, null);
	}

	protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
		super();
		this.condition = condition;
		this.value = value;
		this.secondValue = secondValue;
		this.typeHandler = typeHandler;
		this.betweenValue = true;
	}

	protected Criterion(String condition, Object value, Object secondValue) {
		this(condition, value, secondValue, null);
			}
		}
	}
